Multimedia are media that utilize a combination of different content forms. Multimedia entertainment systems and communication devices may be associated with a variety of multimedia applications. Some examples include IP Video Phones (IPVPs), streaming server/client, network audio player, and Video on Demand (VoD) service.
Multimedia applications often have common functionality. Related components may include, for example, network streaming components such as Real-time Transport Protocol (RTP), an RTP control Protocol (RTCP), Audio/Video/Speech packetization modules, and Adaptive Jitter Buffer (AJB).
Due to the common functionality of components or modules across applications, there is a vested interest in reusing the common components or modules rather than incurring time, effort and cost expenditures associated with re-development for each multimedia application. In addition, system software written during integration may also have reusable aspects.
One of the possible approaches to reusability is development of common modules as independent modules with a generic Application Programming Interface (API). System designers may then select the independent components needed for a particular system.
This approach, however, requires a detailed knowledge on the part of a system designer of each of the independent modules as well as the knowledge necessary to tie the independent modules together to build a complete system (application). There may be a substantial time investment to customize each independent module for a given application and increased complexities and challenges for the system designers. The foregoing may increase the time to market for completed systems and may result in cost-prohibitive systems and lost market share.
Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follows.